تعریف دقیق نیازمندیها در معماری نرمافزار حیاتی و عباراتی مانند «سریع»، «پاسخگو» یا «قابل گسترش» به خودی خود کافی نیستند؛ زیرا معیاری برای سنجش آنها وجود ندارد. با این حال، کاربران همچنان این ویژگیها را میخواهند. نقش معمار این است که این ویژگیها را تا حد امکان فراهم کرده و بین تضادهای احتمالی آنها تعادل ایجاد کند.
اگر این نیازها بهطور مشخص و قابل اندازهگیری بیان نشوند، هیچ مبنایی برای پذیرش سیستم توسط کاربران وجود نخواهد داشت و راهنمایی ارزشمندی از مهندسان در حین کار گرفته میشود. در نتیجه، معماران باید تلاش کنند این نیازها را با سوالاتی مانند «چقدر؟»، «در چه مدت زمانی؟»، «چند بار؟»، «چقدر سریع؟» و غیره به مقادیر دقیق تبدیل کنند. اگر این اطلاعات در برنامه تجاری سیستم نیست، باید علت آن را جستجو کرد و آنها را دریافت.
همچنین باید نیازمندیهای نامشخص را بهصورت محدودهای تعریف کرد: حداقل، مطلوب، و حداکثر. اگر این محدودهها مشخص نشوند، یعنی رفتار مورد نظر سیستم بهدرستی درک نشده است. این کار ممکن است وقتگیر و هزینهبر باشد، اما اگر هیچکس بهاندازه کافی به عملکرد اهمیت ندهد که هزینه تستهای عملکرد را بپردازد، احتمالاً عملکرد مهم نیست و میتوان روی جنبههای دیگر تمرکز کرد.
برای مثال، نیازمندیهایی مثل: «باید به ورودی کاربر در حداکثر ۱۵۰۰ میلیثانیه پاسخ دهد. تحت بار عادی (تعریف شده بهعنوان...) زمان پاسخگویی بین ۷۵۰ تا ۱۲۵۰ میلیثانیه باشد. پاسخگویی زیر ۵۰۰ میلیثانیه توسط کاربر قابل تشخیص نیست، بنابراین برای کمتر از این مقدار هزینه نخواهیم کرد»، نیازمندیهای واقعی هستند. "نیازمندیهایی مثل 'سریع' و 'قابل گسترش' بدون معیار مشخص بیفایدهاند. برای تعریف درست، اعداد و محدودهها را مشخص کنید: چقدر سریع؟ چند کاربر؟ چه زمانی؟ اگر برای تست عملکرد هزینه نمیشود، شاید اصلاً مهم نباشد." #TIP-10
تعریف دقیق نیازمندیها در معماری نرمافزار حیاتی و عباراتی مانند «سریع»، «پاسخگو» یا «قابل گسترش» به خودی خود کافی نیستند؛ زیرا معیاری برای سنجش آنها وجود ندارد. با این حال، کاربران همچنان این ویژگیها را میخواهند. نقش معمار این است که این ویژگیها را تا حد امکان فراهم کرده و بین تضادهای احتمالی آنها تعادل ایجاد کند.
اگر این نیازها بهطور مشخص و قابل اندازهگیری بیان نشوند، هیچ مبنایی برای پذیرش سیستم توسط کاربران وجود نخواهد داشت و راهنمایی ارزشمندی از مهندسان در حین کار گرفته میشود. در نتیجه، معماران باید تلاش کنند این نیازها را با سوالاتی مانند «چقدر؟»، «در چه مدت زمانی؟»، «چند بار؟»، «چقدر سریع؟» و غیره به مقادیر دقیق تبدیل کنند. اگر این اطلاعات در برنامه تجاری سیستم نیست، باید علت آن را جستجو کرد و آنها را دریافت.
همچنین باید نیازمندیهای نامشخص را بهصورت محدودهای تعریف کرد: حداقل، مطلوب، و حداکثر. اگر این محدودهها مشخص نشوند، یعنی رفتار مورد نظر سیستم بهدرستی درک نشده است. این کار ممکن است وقتگیر و هزینهبر باشد، اما اگر هیچکس بهاندازه کافی به عملکرد اهمیت ندهد که هزینه تستهای عملکرد را بپردازد، احتمالاً عملکرد مهم نیست و میتوان روی جنبههای دیگر تمرکز کرد.
برای مثال، نیازمندیهایی مثل: «باید به ورودی کاربر در حداکثر ۱۵۰۰ میلیثانیه پاسخ دهد. تحت بار عادی (تعریف شده بهعنوان...) زمان پاسخگویی بین ۷۵۰ تا ۱۲۵۰ میلیثانیه باشد. پاسخگویی زیر ۵۰۰ میلیثانیه توسط کاربر قابل تشخیص نیست، بنابراین برای کمتر از این مقدار هزینه نخواهیم کرد»، نیازمندیهای واقعی هستند. "نیازمندیهایی مثل 'سریع' و 'قابل گسترش' بدون معیار مشخص بیفایدهاند. برای تعریف درست، اعداد و محدودهها را مشخص کنید: چقدر سریع؟ چند کاربر؟ چه زمانی؟ اگر برای تست عملکرد هزینه نمیشود، شاید اصلاً مهم نباشد." #TIP-10
You guessed it – the internet is your friend. A good place to start looking for Telegram channels is Reddit. This is one of the biggest sites on the internet, with millions of communities, including those from Telegram.Then, you can search one of the many dedicated websites for Telegram channel searching. One of them is telegram-group.com. This website has many categories and a really simple user interface. Another great site is telegram channels.me. It has even more channels than the previous one, and an even better user experience.These are just some of the many available websites. You can look them up online if you’re not satisfied with these two. All of these sites list only public channels. If you want to join a private channel, you’ll have to ask one of its members to invite you.
How Does Bitcoin Work?
Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”